package Entita;

import java.awt.Color;
import java.util.ArrayList;

import DAO.CategoriaDAO;
import DAO.ContestoDAO;

public class Categoria {
	
	private int id;
	private String nome;
	private int ordine;
	private Contesto contesto;
	private Categoria padre;
	
	
	private ArrayList<PazienteArchivio> pazienti=new ArrayList<PazienteArchivio>();
	private CategoriaDAO categoriaDAO=new CategoriaDAO();
	
	public Categoria(int id,String nome,int ordine,Contesto contesto){
		this.id=id;
		this.nome=nome;
		this.ordine=ordine;
		this.contesto=contesto;
	}
	
	public Categoria(String nome,int ordine,Contesto contesto){
		this(0,nome,ordine,contesto);
	}

	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
		categoriaDAO.update(this);
	}
	public String getNome() {
		return this.nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
		categoriaDAO.update(this);
	}
	public ArrayList<PazienteArchivio> getPazienti() {
		return pazienti;
	}

	public void setPazienti(ArrayList<PazienteArchivio> pazienti) {
		this.pazienti = pazienti;
	}
	
	public void addPaziente(PazienteArchivio paziente) {
		this.pazienti.add(paziente);
		categoriaDAO.addPaziente(this, paziente);
	}
	
	public void removePaziente(PazienteArchivio paziente) {
		this.pazienti.remove(paziente);
		categoriaDAO.removePaziente(this, paziente);
	}
	
	
	public int getOrdine() {
		return ordine;
	}

	public void setOrdine(int ordine) {
		this.ordine = ordine;
		categoriaDAO.update(this);
	}

	public Color getColoreSfondo() {
		return contesto.getColoreSfondo();
	}


	public String toString(){
		return this.nome;
	}

	public Contesto getContesto() {
		return contesto;
	}

	public Categoria getPadre() {
		return padre;
	}

	public void setPadre(Categoria padre) {
		this.padre = padre;
	}

}
